
[dbo].[amsp_CMInsertContent]
CREATE PROCEDURE amsp_CMInsertContent
@InNavMenuID numeric,
@InContactID numeric,
@InContentTitle varchar(255),
@OutContentID numeric OUTPUT
AS
BEGIN
DECLARE
@DefaultOwnerMeGroupSpecificInd char(1),
@DefaultOwnerContactID numeric,
@DefaultReminderDays int,
@DefaultOwnerID numeric,
@l_OwnerContactID numeric,
@ExpirationDays int,
@l_ExpirationDays int,
@MembersOnlyFlag char(1),
@OwnerContactID numeric,
@DefaultContentID numeric,
@RowNum int,
@URLSafeName varchar(255),
@Counter int,
@SuperGroupID numeric
SELECT @DefaultOwnerMeGroupSpecificInd = DefaultOwnerMeGroupSpecificInd,
@DefaultOwnerContactID = DefaultOwnerContactID,
@DefaultReminderDays = DefaultReminderDays
FROM Producer
WHERE ContactID = @InContactID
SELECT @SuperGroupID = a.ContentAuthorityGroupID
FROM Content_Authority_Group a, Content_Authority_Producer b
WHERE a.ContentAuthorityGroupID = b.ContentAuthorityGroupID
AND b.ContactID = @InContactID
AND a.SuperGroupFlag = 'Y'
SELECT @DefaultOwnerID = (SELECT TOP 1 ContactID FROM Content_Authority_Producer WHERE DefaultOwnerFlag = 'Y' AND ContentAuthorityGroupID = a.ContentAuthorityGroupID),
@OwnerContactID = a.OwnerContactID,
@ExpirationDays = a.ExpirationDays,
@DefaultContentID = a.ContentID,
@MembersOnlyFlag = a.MembersOnlyFlag
FROM Nav_Menu a, Content_Authority_Producer b
WHERE NavMenuID = @InNavMenuID
AND (a.ContentAuthorityGroupID = b.ContentAuthorityGroupID OR b.ContentAuthorityGroupID = @SuperGroupID)
AND b.ContactID = @InContactID
AND b.ContentEditorFlag = 'Y'
IF @@Rowcount = 0
RAISERROR('You do not have privilege to create a content record for this navigation item/content folder.',16,1)
IF @DefaultOwnerMeGroupSpecificInd = 'G'
SET @l_OwnerContactID = @DefaultOwnerID
ELSE IF @DefaultOwnerMeGroupSpecificInd = 'M'
SET @l_OwnerContactID = @InContactID
ELSE IF @DefaultOwnerMeGroupSpecificInd = 'S' AND @DefaultOwnerContactID IS NOT NULL
SET @l_OwnerContactID = @DefaultOwnerContactID
ELSE
SET @l_OwnerContactID = @OwnerContactID
IF @DefaultReminderDays IS NOT NULL
SET @l_ExpirationDays = @DefaultReminderDays
ELSE
SET @l_ExpirationDays = @ExpirationDays
EXEC amsp_CMGetUniqueContentName NULL, @InContentTitle, @InNavMenuID, @URLSafeName OUTPUT
INSERT
INTO Content (
WorkflowStatusCode,
NavMenuID,
Name,
URLSafeName,
ShowInTemplateFlag,
OpenInNewWindowFlag,
FuseFlag,
SecureFlag,
SuppressBannersFlag,
OwnerContactID,
ContactID,
ExpirationDays,
ArchiveAtExpirationFlag,
MembersOnlyFlag)
VALUES ('W',
@InNavMenuID,
@InContentTitle,
@URLSafeName,
'Y',
'N',
'Y',
'N',
'N',
@l_OwnerContactID,
@InContactID,
@l_ExpirationDays,
'N',
@MembersOnlyFlag)
SET @OutContentID = @@Identity
IF @DefaultContentID IS NULL
UPDATE Nav_Menu
SET ContentID = @OutContentID
WHERE NavMenuID = @InNavMenuID
IF @MembersOnlyFlag = 'Y'
INSERT INTO Content_Security_Group
(ContentID,
SecurityGroupCode)
SELECT @OutContentID,
SecurityGroupCode
FROM Nav_Menu_Security_Group
WHERE NavMenuID = @InNavMenuID
END
GO
GRANT EXECUTE ON [dbo].[amsp_CMInsertContent] TO [IMIS]
GO